{"version":3,"file":"static/chunks/pages/[...path]-7a79e06acae4e8a6.js","mappings":"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","sources":["webpack://_N_E/?edb5","webpack://_N_E/./utils/caseconverters.js","webpack://_N_E/./api/wordpress.js","webpack://_N_E/./containers/LazyContainers.js","webpack://_N_E/./layouts/App.js","webpack://_N_E/./pages/[...path].js"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[...path]\",\n function () {\n return require(\"private-next-pages/[...path].js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[...path]\"])\n });\n }\n ","const snakeToCamel = (s) => {\n return s.replace(/(_\\w)/g, (x) => x[1].toUpperCase());\n};\n\nconst ucFirst = (s) => s.charAt(0).toUpperCase() + s.slice(1);\n\nconst snakeToPascal = (s) =>\n s\n .split('_')\n .map(ucFirst)\n .join('');\nconst camelToPascal = (s) => ucFirst(s);\n\n/**\n * @link https://github.com/peet/camel-to-snake/blob/master/index.js\n */\nconst camelToSnake = (s) => {\n return s\n .replace(/([a-z]|(?:[A-Z0-9]+))([A-Z0-9]|$)/g, function(_, $1, $2) {\n return $1 + ($2 && '_' + $2);\n })\n .toLowerCase();\n};\n\nconst keysToSnakeFromCamel = (obj, removeNull = true) =>\n convertObjectKeys(obj, removeNull, camelToSnake);\n\nconst keysToCamelFromSnake = (obj, removeNull = true) =>\n convertObjectKeys(obj, removeNull);\n\nconst convertObjectKeys = (\n obj,\n removeNull = true,\n converter = snakeToCamel\n) => {\n if (Array.isArray(obj)) {\n return obj.map((x) => convertObjectKeys(x, removeNull, converter));\n }\n\n if (typeof obj !== 'object') {\n return obj;\n }\n\n let r = {};\n for (let key in obj) {\n if (removeNull && obj[key] === null) {\n continue;\n }\n\n r[converter(key)] =\n obj[key] && typeof obj[key] === 'object'\n ? convertObjectKeys(obj[key], removeNull, converter)\n : obj[key];\n }\n\n return r;\n};\n\nexport {\n convertObjectKeys,\n snakeToCamel,\n snakeToPascal,\n camelToPascal,\n camelToSnake,\n keysToSnakeFromCamel,\n keysToCamelFromSnake,\n};\n","import querystring from 'querystring';\nimport {\n keysToCamelFromSnake,\n keysToSnakeFromCamel,\n} from '../utils/caseconverters';\n\nconst API_URL = process.env.WORDPRESS_API_URL;\nconst PAGE_URL = process.env.WORDPRESS_PAGE_URL;\nconst NEXT_PUBLIC_API_URL = process.env.NEXT_PUBLIC_WORDPRESS_API_URL;\nconst isDebug = process.env.NODE_ENV === 'development';\n\nexport async function getPage(path, params, options) {\n params = params || {};\n params = {\n // htmlPath: path,\n ...params,\n };\n\n const isFile = path.split('.').length > 1;\n const urlPath = isFile || path === '' ? path : `${path}/`;\n\n // console.log('get page', PAGE_URL, urlPath, path, params, options);\n\n return await getRequest(`${PAGE_URL}/${urlPath}`, params, options);\n // return await getRequest(`${API_URL}/v1/page_by_path/`, params, options);\n}\n\nexport async function getPasswordProtectedPage(\n restrictionId,\n pageId,\n params,\n options\n) {\n params = params || {};\n return await postRequest(\n `${NEXT_PUBLIC_API_URL}/v1/password_protected_page/${restrictionId}/${pageId}/`,\n params,\n options\n );\n}\n\nexport async function getAllPages() {\n return await getRequest(`${API_URL}/v1/page_relative_urls/`);\n}\n\nexport async function getPagePreview(contentType, token, params, options) {\n params = params || {};\n params = {\n contentType,\n token,\n ...params,\n };\n\n return await getRequest(`${API_URL}/v1/page_preview/`, params, options);\n}\n\nexport async function getPublicViewData(slug, params, options) {\n return await getRequest(\n `${NEXT_PUBLIC_API_URL}/v1/external_view_data/${slug}/`,\n params,\n options\n );\n}\n\nexport async function getViewData(slug, params, options) {\n return await getRequest(\n `${API_URL}/v1/external_view_data/${slug}/`,\n params,\n options\n );\n}\n\nexport async function getRedirect(path, params, options) {\n params = params || {};\n params = {\n htmlPath: path,\n ...params,\n };\n\n return await getRequest(`${API_URL}/v1/redirect_by_path/`, params, options);\n}\n\nexport async function getRequest(url, params, options) {\n params = params || {};\n params = keysToSnakeFromCamel(params);\n\n let headers = options?.headers || {};\n headers = {\n 'Content-Type': 'application/json',\n ...headers,\n };\n const query = querystring.stringify(params);\n const queryString = query ? `?${query}` : '';\n\n if(isDebug) {\n console.log('fetch', `${url}${queryString}`);\n }\n const res = await fetch(`${url}${queryString}`, { headers });\n\n if (res.status < 200 || (res.status >= 400 && res.status !== 404)) {\n const error = new WordpressApiResponseError(res, url, params);\n error.response = res;\n throw error;\n }\n\n const contentType = res.headers.get('content-type');\n if((url.includes('/utbildning/') || url.includes('/webbutbildning/')) && contentType.startsWith('text/html')) {\n if(isDebug) {\n console.log('custom response utbildning', res.url);\n }\n\n const html = await res.text();\n return {\n json: {\n customResponse: {\n body: html,\n contentType,\n },\n },\n headers: res.headers,\n };\n }\n\n try {\n const json = await res.json();\n return {\n headers: res.headers,\n json: keysToCamelFromSnake(json),\n };\n } catch(err) {\n // If json doesn't exist, maybe it is a regular wordpress or redirection plugin redirect\n // Custom redirect for handling redirection plugin\n if(res?.redirected && res?.url) {\n if(isDebug) {\n console.log('redirect', res.redirected, res.headers, res.url);\n }\n\n return {\n headers: res.headers,\n json: keysToCamelFromSnake({\n redirect: {\n destination: res.url,\n permanent: false,\n },\n }),\n };\n } else {\n console.log('error api request', url, queryString, err);\n throw err;\n }\n }\n}\n\nexport async function postRequest(url, params, options) {\n params = params || {};\n params = keysToSnakeFromCamel(params);\n\n let headers = options?.headers || {};\n headers = {\n 'Content-Type': 'application/json',\n ...headers,\n };\n const res = await fetch(url, {\n method: 'POST',\n body: JSON.stringify(params),\n headers,\n });\n\n if (res.status < 200 || res.status >= 300) {\n const error = new WordpressApiResponseError(res, url, params);\n error.response = res;\n throw error;\n }\n\n const json = await res.json();\n return {\n headers: res.headers,\n json: keysToCamelFromSnake(json),\n };\n}\n\nexport class WordpressApiResponseError extends Error {\n constructor(res, url, params) {\n super(\n `${res.statusText}. Url: ${url}. Params: ${JSON.stringify(params)}`\n );\n this.name = 'WordpressApiResponseError';\n }\n}\n","import dynamic from 'next/dynamic';\n\nexport default {\n ArchitectOffice: dynamic(() => import('./ArchitectOffice')),\n ArchitectProject: dynamic(() => import('./ArchitectProject')),\n ArchitecturePrize: dynamic(() => import('./ArchitecturePrize')),\n Archive: dynamic(() => import('./Archive')),\n Blog: dynamic(() => import('./Blog')),\n BlogPost: dynamic(() => import('./BlogPost')),\n ChartPreview: dynamic(() => import('./ChartPreview')),\n Competition: dynamic(() => import('./Competition')),\n CompetitionEntry: dynamic(() => import('./CompetitionEntry')),\n Course: dynamic(() => import('./Course')),\n Event: dynamic(() => import('./Event')),\n FrontPage: dynamic(() => import('./FrontPage')),\n Landing: dynamic(() => import('./Landing')),\n LandingArkitekturgalan: dynamic(() => import('./LandingArkitekturgalan')),\n LandingMember: dynamic(() => import('./LandingMember')),\n LandingSearch: dynamic(() => import('./LandingSearch')),\n LandscapeArchitect: dynamic(() => import('./LandscapeArchitect')),\n Longread: dynamic(() => import('./Longread')),\n MemberApplications: dynamic(() => import('./MemberApplications')),\n MemberCompany: dynamic(() => import('./MemberCompany')),\n MemberLogin: dynamic(() => import('./MemberLogin')),\n MemberProfile: dynamic(() => import('./MemberProfile')),\n News: dynamic(() => import('./News')),\n NotFound: dynamic(() => import('./NotFound')),\n Page: dynamic(() => import('./Page')),\n PageArkitekturgalan: dynamic(() => import('./PageArkitekturgalan')),\n SearchPage: dynamic(() => import('./SearchPage')),\n};\n","import React, { useState, useEffect, createContext } from 'react';\nimport PropTypes from 'prop-types';\nimport {ErrorBoundary} from 'react-error-boundary';\nimport Script from 'next/script';\nimport LazyContainers from '../containers/LazyContainers';\n\nconst ErrorFallback = ({\n error = {},\n isDebug = false,\n ...restProps\n}) => {\n // Handle failed lazy loading of a JS/CSS chunk.\n useEffect(() => {\n console.error(error);\n }, [error]);\n\n return (\n
\n

Something went wrong.

\n {isDebug &&\n
{error?.message}
\n }\n
\n );\n};\n\nErrorFallback.propTypes = {\n error: PropTypes.object,\n isDebug: PropTypes.bool,\n};\n\nconst AppContext = createContext({\n isSSR: false,\n isStorybook: false,\n isDebug: false,\n containerName: '',\n});\n\nconst App = ({\n containerName = '',\n rekaiId = '',\n rekaiDebug = false,\n ...restProps\n}) => {\n const isDebug = process?.env?.NODE_ENV === 'development';\n\n const [rekaiReady, setRekaiReady] = useState(false);\n const [rekaiAutocompleteReady, setRekaiAutocompleteReady] = useState(false);\n\n const Container = LazyContainers[containerName];\n if (!Container) {\n return null;\n }\n\n const settings = {\n isSSR: typeof window === 'undefined',\n isStorybook: false,\n isDebug,\n containerName,\n rekaiId,\n rekaiReady,\n setRekaiReady,\n rekaiAutocompleteReady,\n setRekaiAutocompleteReady,\n };\n\n return (\n (\n \n )}\n >\n \n {rekaiId && (isDebug || rekaiDebug) && (\n \n )}\n\n \n \n \n );\n};\n\nApp.propTypes = {\n containerName: PropTypes.string,\n};\n\nexport {AppContext};\n\nexport default App;\n","import querystring from 'querystring';\nimport { serverSideTranslations } from 'next-i18next/serverSideTranslations';\nimport nextI18NextConfig from '../next-i18next.config.js';\nimport {\n getPage,\n getRedirect,\n getAllPages,\n WordpressApiResponseError,\n} from '../api/wordpress';\nimport AppLayout from '../layouts/App';\n\nconst isProd = process.env.NODE_ENV === 'production';\nconst isDebug = process.env.NODE_ENV === 'development';\n\nexport default function CatchAllPage({ componentName, componentProps }) {\n return ;\n}\n\n// For SSR\nexport async function getServerSideProps({ req, params, res, locale = 'sv' }) {\n let path = params?.path || [];\n path = path.filter((p) => p !== '[object Object]').join('/');\n // console.log('path', params?.path, path);\n\n const i18n = await serverSideTranslations(locale, ['common'], nextI18NextConfig);\n\n const { host } = req.headers;\n let queryParams = new URL(req.url, `https://${host}`).search;\n if (queryParams.indexOf('?') === 0) {\n queryParams = queryParams.substr(1);\n }\n queryParams = querystring.parse(queryParams);\n\n if(isDebug) {\n console.log('ssr', params, path, queryParams, host);\n }\n\n // Try to serve page\n try {\n const {\n json: { componentName, componentProps, redirect, customResponse },\n headers,\n } = await getPage(path, queryParams, {\n headers: {\n cookie: req.headers.cookie,\n host,\n },\n });\n\n // Forward any cookie we encounter\n const cookies = headers.get('set-cookie');\n if (cookies) {\n res.setHeader('Set-Cookie', cookies);\n }\n\n if (customResponse) {\n if(isDebug) {\n console.log('custom response', customResponse);\n }\n\n const { body, body64, contentType } = customResponse;\n res.setHeader('Content-Type', contentType);\n res.statusCode = 200;\n res.write(body64 ? Buffer.from(body64, 'base64') : body);\n res.end();\n\n return { props: { ...i18n } };\n }\n\n if (redirect) {\n if(isDebug) {\n console.log('redirect response', redirect);\n }\n\n const { destination, isPermanent } = redirect;\n return {\n redirect: {\n destination: destination,\n permanent: isPermanent,\n },\n };\n }\n\n return { props: { componentName, componentProps, ...i18n } };\n } catch (err) {\n console.log('get page error', path, queryParams, err);\n if (!(err instanceof WordpressApiResponseError)) {\n throw err;\n }\n\n if(err.response.status === 404) {\n return { notFound: true };\n }\n\n // When in development, show wp error page on error\n if (!isProd && err.response.status >= 500) {\n const html = await err.response.text();\n if(isDebug) {\n console.log('500 error', err.response);\n }\n return {\n props: {\n componentName: 'PureHtmlPage',\n componentProps: { html },\n ...i18n,\n },\n };\n }\n\n if (err.response.status >= 500) {\n throw err;\n }\n }\n\n // Try to serve redirect\n try {\n if(isDebug) {\n console.log('serve redirect', path, queryParams);\n }\n const { json: redirect } = await getRedirect(path, queryParams, {\n headers: {\n cookie: req.headers.cookie,\n host,\n },\n });\n\n if(isDebug) {\n console.log('redirect', redirect);\n }\n\n const { destination, isPermanent } = redirect;\n return {\n redirect: {\n destination: destination,\n permanent: isPermanent,\n },\n };\n } catch (err) {\n console.log('get redirect error', path, queryParams, err);\n if (!(err instanceof WordpressApiResponseError)) {\n throw err;\n }\n\n if (err.response.status >= 500) {\n throw err;\n }\n }\n\n // Serve 404 page\n return { notFound: true };\n}\n\n// For SSG\n/*\nexport async function getStaticProps({ params, preview, previewData }) {\n params = params || {};\n let path = params.path || [];\n path = path.join(\"/\");\n\n const { json: pageData } = await getPage(path);\n return { props: pageData }\n}\n\nexport async function getStaticPaths() {\n const { json: data } = await getAllPages();\n\n let htmlUrls = data.items.map(x => x.relativeUrl);\n htmlUrls = htmlUrls.filter(x => x);\n htmlUrls = htmlUrls.map(x => x.split(\"/\"));\n htmlUrls = htmlUrls.map(x => x.filter(y => y))\n htmlUrls = htmlUrls.filter(x => x.length)\n\n const paths = htmlUrls.map(x => (\n { params: { path: x } }\n ));\n\n return {\n paths: paths,\n fallback: false,\n };\n}\n*/\n"],"names":["window","__NEXT_P","push","__webpack_require__","snakeToCamel","s","replace","x","toUpperCase","camelToSnake","_","$1","$2","toLowerCase","keysToSnakeFromCamel","obj","removeNull","convertObjectKeys","keysToCamelFromSnake","converter","Array","isArray","map","r","key","getPublicViewData","slug","params","options","getRequest","url","headers","query","querystring","queryString","res","fetch","status","error","WordpressApiResponseError","response","contentType","get","includes","startsWith","json","customResponse","body","text","err","redirected","redirect","destination","permanent","console","log","process","env","WORDPRESS_API_URL","WORDPRESS_PAGE_URL","Error","constructor","statusText","JSON","stringify","name","__webpack_exports__","Z","ArchitectOffice","dynamic","Promise","all","e","then","bind","ArchitectProject","ArchitecturePrize","Archive","Blog","BlogPost","ChartPreview","Competition","CompetitionEntry","Course","Event","FrontPage","Landing","LandingArkitekturgalan","LandingMember","LandingSearch","LandscapeArchitect","Longread","MemberApplications","MemberCompany","MemberLogin","MemberProfile","News","NotFound","Page","PageArkitekturgalan","SearchPage","ErrorFallback","isDebug","restProps","param","useEffect","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","div","jsx","p","pre","message","propTypes","PropTypes","AppContext","createContext","isSSR","isStorybook","containerName","App","rekaiId","rekaiDebug","rekaiReady","setRekaiReady","useState","rekaiAutocompleteReady","setRekaiAutocompleteReady","Container","LazyContainers","ErrorBoundary","FallbackComponent","fallbackProps","Provider","value","Script","id","strategy","dangerouslySetInnerHTML","__html","CatchAllPage","componentName","componentProps","AppLayout"],"sourceRoot":""}